/**
 * 代号:隐无为 2017：厚溥
 * 文件名：StreetAction.java
 * 创建人：柯栋
 * 日期：2017年10月25日
 * 修改人：
 * 描述：
 */
package org.setone.action;

import java.util.HashMap;
import java.util.Map;

import org.apache.struts2.ServletActionContext;
import org.setone.common.BaseAction;
import org.setone.model.Street;
import org.setone.service.CityService;
import org.setone.service.StreetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ModelDriven;

/**
 * 用途：业务模块名称
 */
@Controller
@Scope("prototype")
public class StreetAction extends BaseAction implements ModelDriven<Street> {
	Street street = null;
	Map<String, Object> jsonMap = new HashMap<>();
	Integer pageNum = 1;
	Integer pageSize = 12;

	@Autowired
	StreetService streetService;
	@Autowired
	CityService cityService;
	/**
	 *  @功能:ajax保存
	 *  @作者:jh @代号:绰绰有余
	 *  @时间:2017年11月21日
	 *  @return  
	 */
	public String ajaxSave(){
		streetService.save(street);
		return "ajax";
	}
	
	/**
	 * @功能:ajax响应
	 * @作者:jh @代号:绰绰有余
	 * @时间:2017年11月21日
	 * @return
	 */
	public String queryByHouseId() {
//		jsonMap.put("list",streetService.queryByHouseId(street.getHouse().getId()));
		return "ajax";
	}
	/**
	 * @功能:列表
	 * @作者:柯栋 @代号:隐无为
	 * @时间:2017年10月27日
	 * @return
	 */
	public String pageList() {
		ServletActionContext.getRequest().setAttribute("page", streetService.queryPageList(pageNum, pageSize));
		return "pageList";
	}


	/**
	 * @功能:列表
	 * @作者:柯栋 @代号:隐无为
	 * @时间:2017年10月27日
	 * @return
	 */
	public String list() {
		ServletActionContext.getRequest().setAttribute("page", streetService.queryPageList(pageNum, pageSize));
		return "list";
	}

	/**
	 * @功能:添加或修改页面
	 * @作者:柯栋 @代号:隐无为
	 * @时间:2017年10月27日
	 * @return
	 */
	public String saveOrUpdatePage() {
		ServletActionContext.getRequest().setAttribute("cityList", cityService.queryAll());
		if (street.getId() != null) {
			ServletActionContext.getRequest().setAttribute("street", streetService.queryById(street.getId()));
		}
		return "saveOrUpdatePage";
	}

	/**
	 * @功能:保存或更新操作
	 * @作者:柯栋 @代号:隐无为
	 * @时间:2017年10月27日
	 * @return
	 */
	public String saveOrUpdateOpt() {
		if (street.getId() != null) {
			streetService.update(street);
		} else {
			streetService.save(street);
		}
		return "toList";
	}

	/**
	 * @功能:刪除
	 * @作者:柯栋 @代号:隐无为
	 * @时间:2017年10月27日
	 * @return
	 */
	public String delete() {
		streetService.delete(street.getId());
		return "toList";
	}

	@Override
	public Street getModel() {
		street = new Street();
		return street;
	}

	public Integer getPageNum() {
		return pageNum;
	}

	public void setPageNum(Integer pageNum) {
		this.pageNum = pageNum;
	}

	public Integer getPageSize() {
		return pageSize;
	}

	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

	public Map<String, Object> getJsonMap() {
		return jsonMap;
	}

	public void setJsonMap(Map<String, Object> jsonMap) {
		this.jsonMap = jsonMap;
	}

}
